Linear Blend Skinning (LBS) is a well-known standard technique for skeleton based animation and used extensively in video games, movies, simulations and virtual-reality systems. One fact that makes LBS popular is that artists are used to manipulating skeletons for deformation and animation. Another is that the LBS expression or formula can be evaluated directly without the use of any optimization process. This is important if performance is relevant (e.g., games). The input mesh is transformed by blending bone transformations using skinning weights, which define the influence bones have on mesh vertices. Skinning is the process of computing these weights.
Skinning is a well-known standard technique in computer graphics for skeleton based animation that requires little computational overhead and has been used extensively in video games, movies, simulations and virtual-reality systems. This process associates a skeleton, de-fined by a set of segments, each storing a rotation/translation pair {(Rj,Tj)} to a mesh. The skeleton can be manipulated, which modifies in turn the deformation pairs. These transformations can then be transferred to the mesh vertices. Specifically, the location of a vertex i under linear blend skinning (LBS) is determined by
                                          ∑            j                    ⁢                                    w              ij                        ⁡                          (                                                Rj                  ·                                      v                    i                                                  +                Tj                            )                                      ,                            (        1        )            where vi is the original position of vertex i and wij the influence of bone j on i. The major challenge lies in determining the weights {wij} to ensure adequate transformations.
FIG. 1A illustrates an example standard skeleton topology 60 in Blender, which is a popular free and open source 3D creation software suite. The skeleton definitions 62, 68 (shown in FIGS. 1B and 1C) consist of vertices 63, 64, 70 where joints 70, 64 connect two segments 72 and oriented segments 66 for parent relations, and extremities 63 are connected to one segment only as shown in FIGS. 1B and 1C. For example, in FIG. 1C, the skeleton topology 68 includes bone F that is the parent of bones C1 through C5.
Considering typical meshes and their skeletons produced by artists, such as shown in FIG. 1A, it becomes clear that automatic skinning is challenging. First, models can consist of disconnected parts, which might not even be manifold. Second, the skeletal topology might differ from the mesh topology, as it is conceived to facilitate animating, not to follow geometric constraints. In particular, bones might jut out of the shape's interior. Further, it is not even possible to always define an interior. Third, the skeleton can be complex in itself previously, many automatic approaches cannot handle such input and require complex (or unwanted) and potentially costly mesh and skeleton modifications.
Typically, skinning weights should have certain properties (e.g., affinity, positivity, sparsity and locality). Approaches based on (k-)harmonic or general partial differential equations ensure this on the surface or on a volumetric embedding, while enforcing additional smoothness constraints derived from the geometry of the mesh/skeleton. Nonetheless, while smooth weights are necessary, they are not sufficient to enable high-quality deformations.
In prior art techniques, as the goal of the skinning process is to enable adequate deformations, the quality of the weights is generally assessed via experiments, in which several poses under reasonable user-defined transformations are produced. These poses are then evaluated using certain quality metrics, such as the conformality factor, which often serves as a main quality indicator. The above weight constraints, however, while being important, do not directly address this goal.
Thus, for practicality, there is a need for a skinning mechanism that overcomes the above-mentioned challenges and disadvantages of prior art techniques.